﻿using Onshi.POS.Formularios.Recursos;
using Onshi.POS.Modelo.Enumeradores;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Onshi.POS.Formularios
{
    public partial class ArticulosCompuestos : FormularioBase
    {
        #region Constructores

        public ArticulosCompuestos()
        {
            InitializeComponent();
        }

        public ArticulosCompuestos(Int32 idArticulo, Int32 cantidad)
            : this()
        {
            this.idArticulo = idArticulo;
            this.cantidad = cantidad;
        }

        #endregion

        #region Atributos

        private Int32 idArticulo;
        private Int32 cantidad;

        #endregion

        #region Propiedades

        internal Int32 IdArticulo
        {
            get { return ucArticulo.IdArticuloSeleccionado; }
        }

        internal Int32 Cantidad
        {
            get { return Convert.ToInt32(numCantidad.Value); }
        }

        #endregion

        #region Eventos

        private void ArticulosCompuestos_Load(Object sender, EventArgs e)
        {
            if (idArticulo != 0)
            {
                ucArticulo.IdArticuloSeleccionado = idArticulo;
                ucArticulo.Actualizar();
                ucArticulo.Enabled = false;
            }
            if (cantidad != 0)
                numCantidad.Value = cantidad;
        }

        private void btnCancelar_Click(Object sender, EventArgs e)
        {
            Close();
        }

        private void btnAceptar_Click(Object sender, EventArgs e)
        {
            var validado = true;
            errArticulosCompuestos.Clear();
            if (ucArticulo.IdArticuloSeleccionado == 0)
            {
                validado = false;
                errArticulosCompuestos.SetError(ucArticulo, "El artículo no puede quedar vacío");
            }
            if (numCantidad.Value <= Decimal.Zero)
            {
                validado = false;
                errArticulosCompuestos.SetError(numCantidad, "La cantidad no puede ser menor o igual a cero");
            }
            if (validado)
                DialogResult = DialogResult.OK;
        }

        #endregion
    }
}
